FIG. 1 illustrates a known enterprise system for providing services. An enterprise 100 organizes its operations in order to efficiently perform its business. Employees 102 are grouped into departments, divisions, work groups, task forces, teams etc to perform the work required by the enterprise in the usual course of its business. These groups may be relatively permanent or generated dynamically to perform certain tasks. Employees are assigned to these groups and fulfill certain roles 104 within them. For example one employee may perform the role of CEO while others may be clerks in the payroll office. Management 106 at all levels analyze the business requirements of the enterprise and create and adjust the organizational structure of roles to address them.
As described above, employees 102 function within the organization in certain assigned roles 104. Each of these roles has certain responsibilities and certain privileges. The enterprise 100 supplies a number of devices and other services to enable the employees 102 to perform their roles. Such devices as phones within the PBXs, Email, databases, and workflow systems supply various degrees of capabilities. For example, a PBX can limit the ability of certain employees to make certain kinds of toll calls. Payroll clerks may be prevented from accessing long distance toll services while the CEO and sales personnel would have unlimited access to costly international calling. Similarly, the company workflow system grants managers signing authority to authorize certain tasks while preventing others from doing the same. As well as providing capabilities, certain services can be programmed to place requirements on certain employees. For example, a virtual automated call distribution (ACD) system may make use of certain employees as experts in answering certain customer calls. Such ACD systems would be programmed to require these employees to provide a certain portion of their time to this task. These employees would not be allowed to make themselves unavailable to these tasks while at the same time they could make themselves unavailable to other tasks.
FIG. 2 illustrates service provisioning 200 for the system of FIG. 1. The capabilities and limitations that are supplied to employees in these roles are programmed into the various services 202 that the enterprise provides. System administrators 106, who have been trained in the management of the various devices are tasked with doing this. As shown in FIG. 2, each service 202 has one or more attributes 204 that control the capabilities and limitations as they apply to specific employees. These attributes may be grouped into multiple classifications each of which are suited to certain types of roles that employees fulfill. These sets of attributes may be termed classes of service 206 and each role may be assigned one or more of these classes. Examples of these classes of services could be executive, sales, expert, secretary. FIG. 2 shows how the company roles such as CEO, Salesperson and so on may be supplied with the necessary classes of service, which control the programming of the capabilities and limitations of each service. FIG. 2 shows how certain service attributes may be set On, Off or provided with specific values.
Typically, services 202 have multiple management interfaces, provided by disparate vendors, that allow for the setting of these attributes. System administrators are trained on the use of these interfaces and assigned the task of creating and managing user settings on these services. As shown in FIG. 1, the administrators 106 are supplied with the settings of individual employees 102 in their various roles 104 and maintain the services to these settings.
The management of the setting of these attributes can be a costly, time consuming and error prone task for any enterprise. Administrators 106 need to be trained for all programmable services owned by the enterprise. Adding a new employee to these services or modifying the settings for an existing employee necessitates the setting of multiple attributes on multiple services. To address these issues, it is known in the art to provide a central database or directory in which the individual records of each employee in their typically several roles may be stored. This provides a common representation of all services. Agents may then be designed and supplied for all services which will translate these records into the individual setting for each service attribute. This solution does not only require a common directory and agents for each service together with associated hardware on which to run these but also requires a federation of the vendors or a common/known infrastructure between multiple disparate vendors. This can make this solution cost prohibitive for smaller installations that are a major component of the market.
Thus a solution that does not entail the work of multiple trained administrators of the first solution and the costly hardware and directory development of the second solution would be attractive in the marketplace. Additionally, a solution that does not require a constant update of service or class of service definition to be propagated between vendors via a software update, removes restrictions in updating for service enhancements and cross-vendor product alignment issues.